home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Oh!X 2001 Spring
/
Oh!X 2001 Spring Special CD-ROM (Japan).7z
/
Oh!X 2001 Spring Special CD-ROM (Japan) (Track 1).bin
/
GALAXY
/
ohx5-2
/
d3dxbitmap.cpp
< prev
next >
Wrap
C/C++ Source or Header
|
2001-01-02
|
3KB
|
112 lines
/*
Oh!X5号
GalaxyKnights
bitmapライブラリ手続き部分
*/
#define BEXT
#include "stdafx.h"
#include "ohx5_2.h"
HBITMAP hbm0,hbm1;
long timer_low;
long unloaded;
BITMAPDATA datalist[]={
"TITLE", 640, 480, 640, 480, 1, 0,
"OFFICE1", 640, 480, 640, 480, 1, 0,
"OFFICE2", 640, 480, 640, 480, 1, 0,
"", 0, 0, 0, 0, 0, 0
};
LOOKS bitmaps[BITMAPMAX];
// 処理用サーフェイス
struct IDirect3DSurface8* lpFrontBuffer; // フロントバッファ用サーフェイス
struct IDirect3DSurface8* lpBackBuffer; // バックバッファ用サーフェイス
long dwTransType;
void title_object_clear(void)
{
if( hbm0!=NULL ) DeleteObject( hbm0 );
if( hbm1!=NULL ) DeleteObject( hbm1 );
hbm0 = hbm1 = NULL;
unloaded = 1;
}
/* ゲームの初期化 */
bool init_bitmaps( void )
{
// D3DCAPS8 d3dcaps; //
// HRESULT d3drval; // DirectDrawからのリザルトステータス
D3DSURFACE_DESC d3dsd; // テンポラリサーフェイス
// int ct;
// 該当ハードのカラーのケーパビリティをチェック
// dwTransType には、BltFastで使う透明フィルタのコマンドが入る
// dwTransType = DDBLTFAST_SRCCOLORKEY;
// d3dcaps.dwSize = sizeof( d3dcaps );
// スプライト用描画オブジェクトエリアを確保、リソースのコピーはRestoreSurfacesルーチンで行う
memset( &d3dsd, 0, sizeof( d3dsd ) );
// bitmap リソースの一括確保
/*
ct = 0;
while( datalist[ct].resource !="" ){
ddsd.dwWidth = datalist[ct].sx;
ddsd.dwHeight= datalist[ct].sy;
bitmaps[ct].surf = NULL;
bitmaps[ct].palet= NULL;
bitmaps[ct].cols = datalist[ct].count;
bitmaps[ct].sizex= datalist[ct].cx;
bitmaps[ct].sizey= datalist[ct].cy;
ddrval = lpDD->CreateSurface( &ddsd, &bitmaps[ct].surf, NULL );
if( ddrval != D3D_OK ){ return false; }
ct++;
}
unloaded = 1;
timer_low = 0;
if( !RestoreSurfaces() ) return false;
*/
return true;
}
bool release_bitmaps()
{
int ct = 0;
title_object_clear();
while( datalist[ct].resource != "" ){
xRelease( bitmaps[ct].surf );
ct++;
}
return true;
}
/*
タイトル画面の表示
*/
bool display_bitmap( char * filename )
{
// HRESULT hr;
// HRESULT ddrval;
/*
timer_low++;
if( unloaded ){
hbm0 = (HBITMAP)LoadImage( GetModuleHandle( NULL ), filename, IMAGE_BITMAP, 0, 0, LR_CREATEDIBSECTION );
if ( NULL == hbm0 ) return false;
unloaded = 0;
}
// ddrval = DDCopyBitmap( lpBackBuffer, hbm0, 0, 0, 0, 0 );
if( timer_low>60*3 ){
title_object_clear();
timer_low = 0;
system_state = ID_3D_MOVE;
unloaded = 1;
}
// フレーム更新、フリップだろうがブリットだろうがこれでOK
// hr = lpD3DX->UpdateFrame( 0 );
// if (hr == DDERR_SURFACELOST || hr == DDERR_SURFACEBUSY) return false;
*/
return true;
}